const double INPUT_ITEM_HEIGHT = 48;
const double INPUT_ITEM_BORDER_RADIUS = 13;

List<AreaBean> area_dist = [
  AreaBean("港島", [
    DistBean("中西區", ["堅尼地城", "石塘咀", "西營盤", "上環", "中環", "金鐘", "半山區", "山頂"]),
    DistBean("灣仔", ["灣仔", "銅鑼灣", "跑馬地", "大坑", "掃桿埔", "渣甸山"]),
    DistBean("東區", ["天后", "寶馬山", "北角", "鰂魚涌", "西灣河", "筲箕灣", "柴灣", "小西灣"]),
    DistBean("南區",
        ["薄扶林", "香港仔", "鴨脷洲", "黃竹坑", "壽臣山", "淺水灣", "舂磡角", "赤柱", "大潭", "石澳"]),
  ]),
  AreaBean("九龍", [
    DistBean("油尖旺", ["尖沙咀", "油麻地", "西九龍填海區", "京士柏", "旺角", "大角咀"]),
    DistBean("深水埗", ["美孚", "荔枝角", "長沙灣", "深水埗", "石硤尾", "又一村", "昂船洲"]),
    DistBean(
        "九龍城", ["紅磡", "土瓜灣", "馬頭角", "馬頭圍", "啟德", "九龍城", "何文田", "九龍塘", "筆架山"]),
    DistBean("黃大仙", ["新蒲崗", "黃大仙", "東頭", "橫頭磡", "樂富", "鑽石山", "慈雲山", "牛池灣"]),
    DistBean("觀塘", ["坪石", "九龍灣", "牛頭角", "佐敦谷", "觀塘", "秀茂坪", "藍田", "油塘", "鯉魚門"]),
  ]),
  AreaBean("新界", [
    DistBean("葵青", ["葵涌", "青衣"]),
    DistBean("荃灣", ["荃灣", "梨木樹", "汀九", "深井", "青龍頭", "馬灣", "欣 澳"]),
    DistBean("屯門", ["大欖涌", "掃管笏", "屯門", "藍地"]),
    DistBean("元朗",
        ["洪水橋", "廈村", "流浮山", "天水圍", "元朗", "新田", "落馬洲", "錦田", "石崗", "八 鄉"]),
    DistBean("北區", ["粉嶺", "聯和墟", "上水", "石湖墟", "沙頭角", "鹿頸", "烏蛟騰"]),
    DistBean("大埔", ["大埔墟", "大埔", "大埔滘", "大尾篤", "船灣", "樟木頭", "企嶺下"]),
    DistBean("沙田", ["大圍", "沙田", "火炭", "、馬料水", "烏溪沙", "馬鞍山"]),
    DistBean("西貢", ["清水灣", "西貢", "大網仔", "將軍澳", "坑口", "調景嶺", "馬游塘"]),
    DistBean("離島", ["長洲", "坪洲", "大嶼山", "南丫島"]),
  ]),
];

class AreaBean {
  String name;
  List<DistBean> dists;
  AreaBean(this.name, this.dists);

  Map toMap() {
    List<Map<String, List<String>>> distMap = dists.map((e) {
      return e.toMap();
    }).toList();
    Map<String, List<Map>> map = {name: distMap};
    return map;
  }
}

class DistBean {
  String name;
  List<String> subDist;
  DistBean(this.name, this.subDist);
  Map<String, List<String>> toMap() {
    var map = {name: subDist};
    return map;
  }
}
